<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
	// * 在`ES6`中新增了块级作用域的概念，使用{}扩起来的区域叫做块级作用域
	// {
	// 	// 块级作用域
    // }
	// if(true){
	// 	// 块级作用域
    // }

	// * let关键字声明变量，实际上为 JavaScript 新增了块级作用域。
	// {
	// 	let age = 100;
	// 	console.log(age);
    // }
	// console.log(age);// age is not defined

	// * 块作用域由 { } 包裹，if语句和for语句里面的{ }也属于块作用域。
	// * 在块内使用let声明的变量，只会在当前的块内有效。
	{
		let age = 12;
		{
			let age = 18;
			{
				// let age = 28;
				{
					// 当前块级中如果没有声明age,会从上一级查找（作用域链）
					console.log(age);
                }
            }
        }
    }

	// 函数不算块级作用域
    // 函数作用域（局部作用域）：在函数内部声明的是函数作用域
    // 块级作用域：
</script>
</html>